package com.zhentao.controller;

import com.zhentao.pojo.Type;
import com.zhentao.pojo.TypeSon;
import com.zhentao.pojo.Volkswagen;
import com.zhentao.service.TypeService;
import com.zhentao.service.TypeSonService;
import com.zhentao.service.VolkswagenService;
import com.zhentao.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("volkswagen")
public class VolkswagenController {
    @Autowired
    VolkswagenService volkswagenService;
    @Autowired
    TypeService typeService;
    @Autowired
    TypeSonService typeSonService;

    /**
     * 处理列表请求，获取所有Volkswagen数据
     *
     * 通过调用服务层方法获取Volkswagen数据列表，将结果集封装为统一响应格式
     *
     * @return 包含操作结果的响应对象，若成功则携带Volkswagen数据列表
     */
    @RequestMapping("list")
    public Result list() {
        List<Volkswagen> list = volkswagenService.list();
        return Result.OK(list) ;
    }

    /**
     * 根据类型ID查询类型信息
     *
     * @param id 类型唯一标识符（必填）
     * @return 包含查询结果的标准响应对象
     *         成功时data字段携带类型信息列表
     *         失败时返回对应错误信息
     */

    @RequestMapping("getTypeById")
    public Result getById(Integer id) {
        List<Type> type =  typeService.getTypeById(id);
        return Result.OK(type) ;
    }

    
    /**
     * 根据父类型ID获取子类型列表
     *
     * @param id 父类型唯一标识符，通过路径参数传递
     * @return 包含子类型列表的标准响应结果，数据结构为：
     *         {
     *             "code": 操作状态码,
     *             "msg": 操作结果描述,
     *             "data": List<TypeSon> 子类型数据集合
     *         }
     */
    @RequestMapping("getTypeSonById")
    public Result getTypeSonById(Integer id) {
        List<TypeSon> list = typeSonService.getTypeSonById(id);
        return Result.OK(list) ;
    }
}
